#include <stdio.h>

/*
 * 识别复杂运算
 */

int main()
{
	unsigned int a;
	unsigned int b;
	int c;
	int d;

	if (d) {
		printf("TRUE\n");
	}
	else {
		if (((a > b) && (a != 0)) || ((a == c) && (c != 0)))
			printf("OK\n");
	}

	if (c == d)
		printf("+++\n");

	return 0;
}

#if 0

/*
 * intel
 */
0000000000001149 <main>:
    1149:	f3 0f 1e fa          	endbr64 
    114d:	55                   	push   %rbp
    114e:	48 89 e5             	mov    %rsp,%rbp
    1151:	48 83 ec 10          	sub    $0x10,%rsp
    1155:	83 7d f0 00          	cmpl   $0x0,-0x10(%rbp)	// (rbp-0x10)-0x0
    1159:	74 0e                	je     1169 <main+0x20>	// ==0 jump
    115b:	48 8d 3d a2 0e 00 00 	lea    0xea2(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    1162:	e8 e9 fe ff ff       	callq  1050 <puts@plt>	// puts(rdi)
    1167:	eb 28                	jmp    1191 <main+0x48>	// jump
    1169:	8b 45 f4             	mov    -0xc(%rbp),%eax	// eax=(rbp-0xc)
    116c:	3b 45 f8             	cmp    -0x8(%rbp),%eax	// eax-(rbp-0x8)
    116f:	76 06                	jbe    1177 <main+0x2e>	// (无符号<=) jump
    1171:	83 7d f4 00          	cmpl   $0x0,-0xc(%rbp)	// (rbp-0xc)-0x0
    1175:	75 0e                	jne    1185 <main+0x3c>	// 不等/非零 jump
    1177:	8b 45 fc             	mov    -0x4(%rbp),%eax	// eax=(rbp-0x4)
    117a:	39 45 f4             	cmp    %eax,-0xc(%rbp)	// (rbp-0xc)-eax
    117d:	75 12                	jne    1191 <main+0x48>	// 不等/非零 jump
    117f:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)	// (rbp-0x4)-0x0
    1183:	74 0c                	je     1191 <main+0x48>	// 等于/零 jump
    1185:	48 8d 3d 7d 0e 00 00 	lea    0xe7d(%rip),%rdi        # 2009 <_IO_stdin_used+0x9>
    118c:	e8 bf fe ff ff       	callq  1050 <puts@plt>
    1191:	8b 45 fc             	mov    -0x4(%rbp),%eax	// eax=(rbp-0x4)
    1194:	3b 45 f0             	cmp    -0x10(%rbp),%eax	// eax-(rbp-0x10)
    1197:	75 0c                	jne    11a5 <main+0x5c>	// 不等/非零 jump
    1199:	48 8d 3d 6c 0e 00 00 	lea    0xe6c(%rip),%rdi        # 200c <_IO_stdin_used+0xc>
    11a0:	e8 ab fe ff ff       	callq  1050 <puts@plt>
    11a5:	b8 00 00 00 00       	mov    $0x0,%eax
    11aa:	c9                   	leaveq 
    11ab:	c3                   	retq   
    11ac:	0f 1f 40 00          	nopl   0x0(%rax)


/*
 * arm
 */
000000000040055c <main>:
  40055c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400560:	910003fd 	mov	x29, sp
  400564:	b9401fa0 	ldr	w0, [x29, #28]		// w0=[x29+28]
  400568:	7100001f 	cmp	w0, #0x0		// w0-0x0
  40056c:	540000a0 	b.eq	400580 <main+0x24>  // b.none	相等
  400570:	90000000 	adrp	x0, 400000 <_init-0x3e8>
  400574:	911a8000 	add	x0, x0, #0x6a0
  400578:	97ffffb6 	bl	400450 <puts@plt>
  40057c:	14000012 	b	4005c4 <main+0x68>
  400580:	b9401ba1 	ldr	w1, [x29, #24]
  400584:	b94017a0 	ldr	w0, [x29, #20]
  400588:	6b00003f 	cmp	w1, w0
  40058c:	54000089 	b.ls	40059c <main+0x40>  // b.plast	无符号 <=
  400590:	b9401ba0 	ldr	w0, [x29, #24]
  400594:	7100001f 	cmp	w0, #0x0
  400598:	54000101 	b.ne	4005b8 <main+0x5c>  // b.any	不等
  40059c:	b94013a0 	ldr	w0, [x29, #16]
  4005a0:	b9401ba1 	ldr	w1, [x29, #24]
  4005a4:	6b00003f 	cmp	w1, w0
  4005a8:	540000e1 	b.ne	4005c4 <main+0x68>  // b.any	不等
  4005ac:	b94013a0 	ldr	w0, [x29, #16]
  4005b0:	7100001f 	cmp	w0, #0x0
  4005b4:	54000080 	b.eq	4005c4 <main+0x68>  // b.none	相等
  4005b8:	90000000 	adrp	x0, 400000 <_init-0x3e8>
  4005bc:	911aa000 	add	x0, x0, #0x6a8
  4005c0:	97ffffa4 	bl	400450 <puts@plt>
  4005c4:	b94013a1 	ldr	w1, [x29, #16]
  4005c8:	b9401fa0 	ldr	w0, [x29, #28]
  4005cc:	6b00003f 	cmp	w1, w0
  4005d0:	54000081 	b.ne	4005e0 <main+0x84>  // b.any	不等
  4005d4:	90000000 	adrp	x0, 400000 <_init-0x3e8>
  4005d8:	911ac000 	add	x0, x0, #0x6b0
  4005dc:	97ffff9d 	bl	400450 <puts@plt>
  4005e0:	52800000 	mov	w0, #0x0                   	// #0
  4005e4:	a8c27bfd 	ldp	x29, x30, [sp], #32
  4005e8:	d65f03c0 	ret
  4005ec:	00000000 	.inst	0x00000000 ; undefined

#endif

